#pragma once

class FlatBox : public Intersectable
{
	Color _color;
	std::vector<boost::shared_ptr<FlatRectangle>> _rectangles;
public:
	FlatBox(const Point& p0, const Point& p1, const Point& p2, const Point& p3, const Color&);
	
	void WhereIntersects(const Ray&, FirstIntersectionResult&);
	void ColorAtIntersection(SecondIntersectionResult&, const Point&, const Ray&);
	Direction NormalAtPoint(FirstIntersectionResult&, const Point&);

	~FlatBox(void);
};
